/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Comparators;

import beans.GastosReceitas;
import net.sourceforge.floggy.persistence.Comparator;
import net.sourceforge.floggy.persistence.Persistable;

/**
 *
 * @author familia
 */
public class GastoReceitasDataComparator implements Comparator {
    char tipo;
    public GastoReceitasDataComparator(char tipo) {
        setTipo(tipo);
    }

    public void setTipo(char tipo) {
        this.tipo = tipo;
    }

    public char getTipo() {
        return tipo;
    }
    
    public int compare(Persistable o1, Persistable o2) {
        GastosReceitas gr1 = (GastosReceitas) o1;
        GastosReceitas gr2 = (GastosReceitas) o2;
        int result = 0;
        if (getTipo()=='E'){
            if (gr1.getDataEmissao().getTime()>gr2.getDataEmissao().getTime()){
               result = 1; 
            }else if (gr1.getDataEmissao().getTime()<gr2.getDataEmissao().getTime()){
               result = -1; 
            }else{
               result = 0; 
            }          
        }else if (getTipo()=='V'){
            if (gr1.getDataVencimento().getTime()>gr2.getDataVencimento().getTime()){
               result = 1; 
            }else if (gr1.getDataVencimento().getTime()<gr2.getDataVencimento().getTime()){
               result = -1; 
            }else{
               result = 0; 
            }              
        }else if (getTipo()=='P'){
            if (gr1.getDataPagamento().getTime()>gr2.getDataPagamento().getTime()){
               result = 1; 
            }else if (gr1.getDataPagamento().getTime()<gr2.getDataPagamento().getTime()){
               result = -1; 
            }else{
               result = 0; 
            }              
        }
        if (result == 0) {
            return EQUIVALENT;
        } else if (result > 0) {
            return FOLLOWS;
        } else {
            return PRECEDES;
        }
    }
}
